/**
 * 
 */
package com.eagle.coders.scheduler.crond;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.quartz.JobDetail;

/**
 * 
 * @author    anees    
 * @version   1.0 
 * 
 *
 */

public class CronObject implements Serializable {

	private static final long serialVersionUID = 1L;
	
	public static final String ALL_DAYS_OF_WEEK = "-1";
	public static final String ALL_MONTHS = "-1";
    public static final String ALL_DAYS_OF_MONTH= "-1";
    public static final String ALL_HOURS = "-1";
    public static final String ALL_MINUTES = "-1";
	
	public static final String SATURDAY = "sat";
	public static final String SUNDAY = "sun";
	public static final String MONDAY = "mon";
	public static final String TUESDAY = "tue";
	public static final String WEDNESDAY = "wed";
	public static final String THURSDAY = "thu";
	public static final String FRIDAY = "fri";
	
	public static final String JANUARY = "jan";
	public static final String FEBRUARY = "feb";
	public static final String MARCH = "mar";
	public static final String APRIL = "apr";
	public static final String MAY = "may";
	public static final String JUNE = "june";
	public static final String JULY = "jule";
	public static final String AUGUST = "aug";
	public static final String SEPTEMBER = "sep";
	public static final String OCTOBER = "oct";
	public static final String NOVEMBER = "nov";
	public static final String DECEMBER = "dec";
	
	private String jobName;
	
	private String jobGroup;
	
	private String jobClass;
	
	private String description;
	
	private String argument;
	
	private String hours;
	
	private String minutes;
	
	private String dayOfMonth;
		
	private String dayOfWeek;
	
	private String month;
	
	private String cronExpression;
	
	private Map<String, ? extends Object> jobDataMap;
	
	private boolean hoursCheck;
	
	private boolean minutesCheck;
	
	private boolean daysCheck;
	
	private boolean monthCheck;
	
	private boolean weekCheck;
	
	private boolean sunCheck;
	private boolean monCheck;
	private boolean tueCheck;
	private boolean wedCheck;
	private boolean thuCheck;
	private boolean friCheck;
	private boolean satCheck;
	
	private boolean janCheck;
	private boolean febCheck;
	private boolean marCheck;
	private boolean aprCheck;
	private boolean mayCheck;
	private boolean juneCheck;
	private boolean julyCheck;
	private boolean augCheck;
	private boolean sepCheck;
	private boolean octCheck;
	private boolean novCheck;
	private boolean decCheck;
		
	private String year;
	
	private String timeIntervalHour;
	
	private String timeIntervalMinutes;
	
	private String timeFrequencyHour;
	
	private String timeFrequencyMinutes;
    
    private String monthInterval;
    
    private String daysOfMonthInterval;
    
    private String dayOfWeekInterval;
		
	private String monthOfYear;
	
	private String monthStart;
	
	private String monthEnd;
	
	private String timeZone;
	
	private Integer nMinute;
	
	private Date startDate;
	
	private List<JobDetail> resultJobList;
	
	public CronObject(){
		
	}

	/**
	 * @return the day
	 */
	public String getDayOfWeek() {
		return dayOfWeek;
	}
	
	/**
	 * @param day the day to set
	 */
	public void setDayOfWeek(String dayOfWeek) {
		this.dayOfWeek = dayOfWeek;
	}
	
	/**
	 * 
	 * @return resultJobList
	 */
	public List<JobDetail> getResultJobList() {
		return resultJobList;
	}
	
	/**
	 * 
	 * @param resultJobList
	 */
	public void setResultJobList(List<JobDetail> resultJobList) {
		this.resultJobList = resultJobList;
	}
	/**
	 * @return the start month value
	 */
	public String getStartMonth() {
		return monthStart;
	}
	
	/**
	 * @param set the start month value
	 */
	public void setStartMonth(String monthStart) {
		this.monthStart = monthStart;
	}
	
	/**
	 * @return the end month value
	 */
	public String getEndMonth() {
		return monthEnd;
	}
	
	/**
	 * @param set the end month value
	 */
	public void setEndMonth(String monthEnd) {
		this.monthEnd = monthEnd;
	}

	/**
	 * @return the dayOfMonth
	 */
	public String getDayOfMonth() {
		return dayOfMonth;
	}

	/**
	 * @param dayOfMonth the dayOfMonth to set
	 */
	public void setDayOfMonth(String dayOfMonth) {
		this.dayOfMonth = dayOfMonth;
	}

	/**
	 * @return the hours
	 */
	public String getHours() {
		return hours;
	}

	/**
	 * @param hours the hours to set
	 */
	public void setHours(String hours) {
		this.hours = hours;
	}

	/**
	 * @return the minutes
	 */
	public String getMinutes() {
		return minutes;
	}

	/**
	 * @param minutes the minutes to set
	 */
	public void setMinutes(String minutes) {
		this.minutes = minutes;
	}

	/**
	 * @return the month
	 */
	public String getMonth() {
		return month;
	}

	/**
	 * @param month the month to set
	 */
	public void setMonth(String month) {
		this.month = month;
	}

	/**
	 * @return the monthOfYear
	 */
	public String getMonthOfYear() {
		return monthOfYear;
	}

	/**
	 * @param monthOfYear the monthOfYear to set
	 */
	public void setMonthOfYear(String monthOfYear) {
		this.monthOfYear = monthOfYear;
	}

	/**
	 * @return the timeFrequencyHour
	 */
	public String getTimeFrequencyHour() {
		return timeFrequencyHour;
	}

	/**
	 * @param timeFrequencyHour the timeFrequencyHour to set
	 */
	public void setTimeFrequencyHour(String timeFrequencyHour) {
		this.timeFrequencyHour = timeFrequencyHour;
	}

	/**
	 * @return the timeFrequencyMinutes
	 */
	public String getTimeFrequencyMinutes() {
		return timeFrequencyMinutes;
	}

	/**
	 * @param timeFrequencyMinutes the timeFrequencyMinutes to set
	 */
	public void setTimeFrequencyMinutes(String timeFrequencyMinutes) {
		this.timeFrequencyMinutes = timeFrequencyMinutes;
	}

	/**
	 * @return the timeIntervalHour
	 */
	public String getTimeIntervalHour() {
		return timeIntervalHour;
	}

	/**
	 * @param timeIntervalHour the timeIntervalHour to set
	 */
	public void setTimeIntervalHour(String timeIntervalHour) {
		this.timeIntervalHour = timeIntervalHour;
	}

	/**
	 * @return the timeIntervalMinutes
	 */
	public String getTimeIntervalMinutes() {
		return timeIntervalMinutes;
	}

	/**
	 * @param timeIntervalMinutes the timeIntervalMinutes to set
	 */
	public void setTimeIntervalMinutes(String timeIntervalMinutes) {
		this.timeIntervalMinutes = timeIntervalMinutes;
	}

	/**
	 * @return the year
	 */
	public String getYear() {
		return year;
	}

	/**
	 * @param year the year to set
	 */
	public void setYear(String year) {
		this.year = year;
	}

    public String getDayOfWeekInterval() {
        return dayOfWeekInterval;
    }

    public void setDayOfWeekInterval(String dayOfWeekInterval) {
        this.dayOfWeekInterval = dayOfWeekInterval;
    }

    public String getDaysOfMonthInterval() {
        return daysOfMonthInterval;
    }

    public void setDaysOfMonthInterval(String daysOfMonthInterval) {
        this.daysOfMonthInterval = daysOfMonthInterval;
    }

    public String getMonthInterval() {
        return monthInterval;
    }

    public void setMonthInterval(String monthInterval) {
        this.monthInterval = monthInterval;
    }

	/**
	 * @return the jobGroup
	 */
    public String getJobGroup() {
		return jobGroup;
	}

	/**
	 * @param jobGroup the jobGroup to set
	 */
   	public void setJobGroup(String jobGroup) {
		this.jobGroup = jobGroup;
	}

	/**
	 * @return the jobName
	 */
   	public String getJobName() {
		return jobName;
	}

	/**
	 * @param jobName the jobName to set
	 */
   	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	/**
	 * @return the description of Job
	 */
	public String getDescription() {
		return description;
	}
	
	/**
	 * 
	 * @param description the descritpion to set
	 */
	public void setDescription(String description) {
		this.description = description;
	}
	
	/**
	 * @return the job argument
	 */
	public String getArgument() {
		return argument;
	}
	
	public void setArgument(String argument) {
		this.argument = argument;
	}
	/**
 	 * @return the jobClass
	 */
	public String getJobClass() {
		return jobClass;
	}

	/**
	 * @param jobClass the jobClass to set
	 */
	public void setJobClass(String jobClass) {
		this.jobClass = jobClass;
	}

	public boolean isAprCheck() {
		return aprCheck;
	}

	public void setAprCheck(boolean aprCheck) {
		this.aprCheck = aprCheck;
	}

	public boolean isAugCheck() {
		return augCheck;
	}

	public void setAugCheck(boolean augCheck) {
		this.augCheck = augCheck;
	}

	public boolean isDaysCheck() {
		return daysCheck;
	}

	public void setDaysCheck(boolean daysCheck) {
		this.daysCheck = daysCheck;
	}

	public boolean isDecCheck() {
		return decCheck;
	}

	public void setDecCheck(boolean decCheck) {
		this.decCheck = decCheck;
	}

	public boolean isFebCheck() {
		return febCheck;
	}

	public void setFebCheck(boolean febCheck) {
		this.febCheck = febCheck;
	}

	public boolean isFriCheck() {
		return friCheck;
	}

	public void setFriCheck(boolean friCheck) {
		this.friCheck = friCheck;
	}

	public boolean isHoursCheck() {
		return hoursCheck;
	}

	public void setHoursCheck(boolean hoursCheck) {
		this.hoursCheck = hoursCheck;
	}

	public boolean isJanCheck() {
		return janCheck;
	}

	public void setJanCheck(boolean janCheck) {
		this.janCheck = janCheck;
	}

	public boolean isJulyCheck() {
		return julyCheck;
	}

	public void setJulyCheck(boolean julyCheck) {
		this.julyCheck = julyCheck;
	}

	public boolean isJuneCheck() {
		return juneCheck;
	}

	public void setJuneCheck(boolean juneCheck) {
		this.juneCheck = juneCheck;
	}

	public boolean isMarCheck() {
		return marCheck;
	}

	public void setMarCheck(boolean marCheck) {
		this.marCheck = marCheck;
	}

	public boolean isMayCheck() {
		return mayCheck;
	}

	public void setMayCheck(boolean mayCheck) {
		this.mayCheck = mayCheck;
	}

	public boolean isMinutesCheck() {
		return minutesCheck;
	}

	public void setMinutesCheck(boolean minutesCheck) {
		this.minutesCheck = minutesCheck;
	}

	public boolean isMonCheck() {
		return monCheck;
	}

	public void setMonCheck(boolean monCheck) {
		this.monCheck = monCheck;
	}

	public boolean isMonthCheck() {
		return monthCheck;
	}

	public void setMonthCheck(boolean monthCheck) {
		this.monthCheck = monthCheck;
	}

	public boolean isNovCheck() {
		return novCheck;
	}

	public void setNovCheck(boolean novCheck) {
		this.novCheck = novCheck;
	}

	public boolean isOctCheck() {
		return octCheck;
	}

	public void setOctCheck(boolean octCheck) {
		this.octCheck = octCheck;
	}

	public boolean isSatCheck() {
		return satCheck;
	}

	public void setSatCheck(boolean satCheck) {
		this.satCheck = satCheck;
	}

	public boolean isSepCheck() {
		return sepCheck;
	}

	public void setSepCheck(boolean sepCheck) {
		this.sepCheck = sepCheck;
	}

	public boolean isSunCheck() {
		return sunCheck;
	}

	public void setSunCheck(boolean sunCheck) {
		this.sunCheck = sunCheck;
	}

	public boolean isThuCheck() {
		return thuCheck;
	}

	public void setThuCheck(boolean thuCheck) {
		this.thuCheck = thuCheck;
	}

	public boolean isTueCheck() {
		return tueCheck;
	}

	public void setTueCheck(boolean tueCheck) {
		this.tueCheck = tueCheck;
	}

	public boolean isWedCheck() {
		return wedCheck;
	}

	public void setWedCheck(boolean wedCheck) {
		this.wedCheck = wedCheck;
	}

	public boolean isWeekCheck() {
		return weekCheck;
	}

	public void setWeekCheck(boolean weekCheck) {
		this.weekCheck = weekCheck;
	}

	public String getLovDisplay() {
		// TODO Auto-generated method stub
		return jobGroup;
	}

	public Object getLovValue() {
		// TODO Auto-generated method stub
		return jobGroup;
	}

	public String getCronExpression() {
		return cronExpression;
	}

	public void setCronExpression(String cronExpression) {
		this.cronExpression = cronExpression;
	}

	public Map<String, ? extends Object> getJobDataMap() {
		return jobDataMap;
	}

	public void setJobDataMap(Map<String, ? extends Object> jobDataMap) {
		this.jobDataMap = jobDataMap;
	}

	public String getTimeZone() {
		return timeZone;
	}

	public void setTimeZone(String timeZone) {
		this.timeZone = timeZone;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Integer getnMinute() {
		return nMinute;
	}

	public void setnMinute(Integer nMinute) {
		this.nMinute = nMinute;
	}

}
